Skip to content

docs: record the Coq proof gate and the 2026-07-29 rescue session - #712

Merged
hyperpolymath merged 2 commits into
mainfrom
docs/state-2026-07-29
Aug 3, 2026
Merged

docs: record the Coq proof gate and the 2026-07-29 rescue session#712
hyperpolymath merged 2 commits into
mainfrom
docs/state-2026-07-29

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Documentation of the state established on 2026-07-29, in both human- and
machine-readable form, using conventions already present in the repo.

docs/ci/COQ-PROOF-GATE.adoc

Sits beside the existing docs/ci/required-checks.adoc. Covers:

  • what the gate checks, and that all 20 proofs report Closed under the global context
  • why it is fail-closed — and why tools/check-proofs.sh is explicitly not
    a model to copy: it gates Idris2/Lean/Agda behind command -v … || SKIP and
    exits 0 on a machine with no provers at all
  • why formal/justfile stays the single source of truth for the proof list
  • the two container faults that each cost a red run, both properties of
    coqorg/* images under GitHub Actions that will recur on any new Coq job:
    the overridden ENTRYPOINT, and the silent fallback to sh/dash
  • how to run it locally, and the falsifiers proving both guards can actually fail

.machine_readable/sessions/2026-07-29-proof-gate-and-rescue.a2ml

Session record on the existing a2ml/session-record/v1 schema, alongside the
2026-05-27 entry. Verified to parse as TOML. Records the gate, the rescue of
three feature commits from a checkout that was deleted mid-session, three pieces
of sweep damage, the partial-merge incident that left main red, and method
notes worth not re-deriving.

formal/README.adoc

Notes that CI gates on 8.20.1 while the file documents 8.18, that the
corpus checks clean on 8.20, and that reconciling the two is outstanding.

Not touched

STATE.a2ml was deliberately left alone — it is 67KB, self-describes as stale
and as mirroring rather than leading. A session record is the correct home for
this.

🤖 Generated with Claude Code

Human-readable and machine-readable documentation of the state established
this session, using the conventions already in the repo rather than new ones.

- docs/ci/COQ-PROOF-GATE.adoc — sits beside required-checks.adoc. Covers what
  the gate checks, why it is fail-closed (and why tools/check-proofs.sh is not
  a model to copy), the two coqorg-under-GitHub-Actions container faults that
  each cost a red run, how to run it locally, and the falsifiers proving both
  guards can actually fail.

- .machine_readable/sessions/2026-07-29-proof-gate-and-rescue.a2ml — session
  record on the existing a2ml/session-record/v1 schema, alongside the 2026-05-27
  entry. Records the gate, the rescue of 3 feature commits from a deleted
  checkout, three pieces of sweep damage (including the .gitattributes deletion
  that would have unlabelled 493 .affine files), the partial-merge incident that
  left main red, and method notes.

- formal/README.adoc — note that CI gates on 8.20.1 while this file documents
  8.18, and that reconciling them is outstanding.

STATE.a2ml was deliberately left alone: it is 67KB, self-describes as stale and
as mirroring rather than leading, so a session record is the correct home.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Comment thread docs/ci/COQ-PROOF-GATE.adoc
gitar-bot[bot]

This comment was marked as resolved.

@gitar-bot

gitar-bot Bot commented Aug 3, 2026

Copy link
Copy Markdown

Note

Automatic reviews are paused because your trial's included automatic processing has been used for this period. Upgrade now, or comment "Gitar review" to run a review anytime.
Learn more

Code Review ✅ Approved 1 resolved / 1 findings

Adds documentation for the Coq proof gate and the 2026-07-29 rescue session, but the docs describe workflow remedies that are absent from the committed gate.

✅ 1 resolved
Quality: Docs describe workflow remedies absent from the committed gate

📄 docs/ci/COQ-PROOF-GATE.adoc:66-77 📄 .machine_readable/sessions/2026-07-29-proof-gate-and-rescue.a2ml:52-62 📄 .machine_readable/sessions/2026-07-29-proof-gate-and-rescue.a2ml:121-129
Both new docs assert, in the present tense, that .github/workflows/coq-proof-gate.yml applies two fixes: adding the opam switch to GITHUB_PATH globbed as /home/coq/.opam/*/bin (COQ-PROOF-GATE.adoc §Container gotchas item 1; a2ml gotcha entrypoint-overridden), and declaring defaults.run.shell: bash (COQ-PROOF-GATE.adoc item 2; a2ml gotcha shell-fell-back-to-dash). The workflow actually in the repo does neither — it has no defaults: block and no GITHUB_PATH step, running coqc --version directly under --user root. This is the exact pre-fix revision the a2ml incident-partial-merge block says was squash-merged without the fix, so the committed gate still fails with coqc: not found. The documentation therefore describes a state the repository does not contain. Either land the repair (PR #711 / commit af7c38c) so the workflow matches the docs, or reword these sections as outstanding rather than done.

Options

Display: compact → Showing less information.

Comment with these commands to change the behavior for this request:

Compact
gitar display:verbose         

Important

Your trial ends in 7 days — upgrade now to keep code review, CI analysis, auto-apply, custom automations, and more.

Was this helpful? React with 👍 / 👎 | Gitar

@gitar-bot
gitar-bot Bot dismissed their stale review August 3, 2026 13:17

✅ All code review findings resolved.

Configure merge blocking

@sonarqubecloud

sonarqubecloud Bot commented Aug 3, 2026

Copy link
Copy Markdown

@hyperpolymath
hyperpolymath merged commit 707fd5f into main Aug 3, 2026
18 checks passed
@hyperpolymath
hyperpolymath deleted the docs/state-2026-07-29 branch August 3, 2026 13:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant